package org.dei.perla.sys.device.fpc.dspic.datastructures;

import java.io.Serializable;

import org.dei.perla.utils.dataconverter.annotations.FixedLengthArray;
import org.dei.perla.utils.dataconverter.annotations.SimpleField;
import org.dei.perla.utils.dataconverter.annotations.StructInfo;
import org.dei.perla.utils.dataconverter.enums.Endianness;
import org.dei.perla.utils.dataconverter.enums.Sign;

@StructInfo(endianness = Endianness.LITTLE_ENDIAN, totalStructSize = DSPicDefines.MRP_SIZE)
public class MRP implements Serializable{
	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int acquisitionType;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int command;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
 	private int rs1;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int rs2;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int rs3;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int rs4;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int gx;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int gy;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int gz;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int mx;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int my;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int mz;
	
	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int crackBias;
	
	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int thupX;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int thupY;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int thupZ;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int ltaInterSample;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int rs5;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int rs6;
	
	@FixedLengthArray(length = DSPicDefines.MRP_TAPS_SIZE, padding = 0)
	@SimpleField(size = 2, sign = Sign.SIGNED)
	private int[] tapsx;
	
	@FixedLengthArray(length = DSPicDefines.MRP_TAPS_SIZE, padding = 0)
	@SimpleField(size = 2, sign = Sign.SIGNED)
	private int[] tapsy;
	
	@FixedLengthArray(length = DSPicDefines.MRP_TAPS_SIZE, padding = 0)
	@SimpleField(size = 2, sign = Sign.SIGNED)
	private int[] tapsz;
	
	
	public MRP() {
		
	}
	
	public int getAcquisitionType() {
		return acquisitionType;
	}

	public void setAcquisitionType(int acquisitionType) {
		this.acquisitionType = acquisitionType;
	}

	public int getCommand() {
		return command;
	}

	public void setCommand(int command) {
		this.command = command;
	}

	public int getRs1() {
		return rs1;
	}

	public void setRs1(int rs1) {
		this.rs1 = rs1;
	}

	public int getRs2() {
		return rs2;
	}

	public void setRs2(int rs2) {
		this.rs2 = rs2;
	}

	public int getRs3() {
		return rs3;
	}

	public void setRs3(int rs3) {
		this.rs3 = rs3;
	}

	public int getRs4() {
		return rs4;
	}

	public void setRs4(int rs4) {
		this.rs4 = rs4;
	}

	public int getGx() {
		return gx;
	}

	public void setGx(int gx) {
		this.gx = gx;
	}

	public int getGy() {
		return gy;
	}

	public void setGy(int gy) {
		this.gy = gy;
	}

	public int getGz() {
		return gz;
	}

	public void setGz(int gz) {
		this.gz = gz;
	}

	public int getThupX() {
		return thupX;
	}

	public void setThupX(int thupX) {
		this.thupX = thupX;
	}

	public int getThupY() {
		return thupY;
	}

	public void setThupY(int thupY) {
		this.thupY = thupY;
	}

	public int getThupZ() {
		return thupZ;
	}

	public void setThupZ(int thupZ) {
		this.thupZ = thupZ;
	}

	public int getLtaInterSample() {
		return ltaInterSample;
	}

	public void setLtaInterSample(int thdwX) {
		this.ltaInterSample = thdwX;
	}
	
	public int[] getTapsx() {
		return tapsx;
	}

	public void setTapsx(int[] tapsx) {
		this.tapsx = tapsx;
	}

	public int[] getTapsy() {
		return tapsy;
	}

	public void setTapsy(int[] tapsy) {
		this.tapsy = tapsy;
	}

	public int[] getTapsz() {
		return tapsz;
	}

	public void setTapsz(int[] tapsz) {
		this.tapsz = tapsz;
	}

	public int getMx() {
		return mx;
	}

	public void setMx(int mx) {
		this.mx = mx;
	}

	public int getMy() {
		return my;
	}

	public void setMy(int my) {
		this.my = my;
	}

	public int getMz() {
		return mz;
	}

	public void setMz(int mz) {
		this.mz = mz;
	}

	public int getCrackBias() {
		return crackBias;
	}

	public void setCrackBias(int crackBias) {
		this.crackBias = crackBias;
	}

	public void setRs5(int rs5) {
		this.rs5 = rs5;
	}

	public int getRs5() {
		return rs5;
	}

	public void setRs6(int rs6) {
		this.rs6 = rs6;
	}

	public int getRs6() {
		return rs6;
	}
	
	
}
